package B1;

// 状态机测试类
public class TankStateMachineTest {
    public static void main(String[] args) {
        TankStateMachine tank = new TankStateMachine();
        System.out.println("初始状态：" + tank.getCurrentState());

        // 模拟场景1：水温低于20°且有水 → 开启继电器
        tank.handleEvent(TankEvent.TEMP_BELOW_20_WITH_WATER);

        // 模拟场景2：水温达到100° → 关闭继电器
        tank.handleEvent(TankEvent.TEMP_REACH_100);

        // 模拟场景3：晚上11点 → 进入休眠
        tank.handleEvent(TankEvent.TIME_23_00);

        // 模拟场景4：早上7点 → 退出休眠
        tank.handleEvent(TankEvent.TIME_07_00);

        // 模拟场景5：水箱烧坏 → 终止
        tank.handleEvent(TankEvent.TEMP_BELOW_20_WITH_WATER); // 先开启继电器
        tank.handleEvent(TankEvent.TANK_BROKEN);
    }
}